Prediction of future or otherwise unknown events plays an important role in many applications. Most conventional techniques for automatic forecasting assume some stationary behavior or semi-fixed seasonalities.
This is oftentimes not appropriate, as many, partially not observable variables can influence the behavior of a process. Assume, for instance, that the water consumption of a building depends not only on the weather, the number of people, etc. but also on the fact of whether (or not) there is a maintenance scheduled for that day (i.e., wherein it is assumed that the maintenance affects water consumption—for instance people tend not to stay in the building when maintenance tasks are being performed and/or the water supply is shut off).
Thus, if there is maintenance being performed, the water consumption in the building is low. If there is no maintenance, the water consumption in the building would be higher. Without the knowledge of whether there is a maintenance task one cannot automatically distinguish which of both holds. Existing prediction techniques optimize their predictions to reduce an error function with respect to a single prediction, thus they would choose any value in between, usually far away from any of the ways the series actually evolves. Such techniques are described, for example, in T. Hastie et al., “Elements of Statistical Learning, Data Mining, Inference, and Prediction” Springer Series in Statistics (2009).
The only way to come up with better predictions is by adding additional variables that would separate both cases. However, it is usually quite unclear which variables this should be. Mapping the complete domain knowledge is mostly infeasible and would be prohibitively expensive. Furthermore, information about maintainance tasks and similar events might not be updated properly as the value is not clear at the time of entering this information or at the time the forecasting is done.
Thus, improved prediction model techniques would be desirable.